package com.model.domain.usuario;

import com.model.dao.orm.Key;
import com.model.domain.persona.Personal;
import com.model.domain.usuario.opciones.OpcionPersonal;
import java.util.Date;
import util.usuario.seguridad.PermisosTabla;


/**
 *
 * @author rdelacruz
 */
public class Usuario 
implements Key
{
    private String identificador;//identificador de usuario
    private String clave;
    
    //private String nombre;
    private Perfil perfil;
    private Boolean activo;
    
    private String navegadorWeb;
    private Date fechaLogueo;
            
    private EstadoUsuario estado;
    
    private Personal personal;
    
    private String fechaAlta;
    private String fechaBaja;
    
    private PermisosTabla permisosTabla;
        
    public boolean puedeDescargarExcelPersonal() {
        /*
        switch(perfil.getEnum()) {
            case ADMINISTRADOR_SISTEMA:
            case PROGRAMADOR_CAMPO:                
            return true;
        }
        return false;
        */
        return perfil.getOpciones().contiene(OpcionPersonal.DESCARGA_ARCHIVOS_EXCEL);
    }    
    
    @Override
    public String getKey() {
        return identificador;
    }

    public EstadoUsuario getEstado() {
        return estado;
    }

    public void setEstado(EstadoUsuario estado) {
        this.estado = estado;
    }

    public boolean isActivo() {
        return activo!=null && activo;
    }

    public void setActivo(Boolean activo) {
        this.activo = activo;
    }

    public String getIdentificador() {
        return identificador;
    }

    public void setIdentificador(String identificador) {
        this.identificador = identificador;
    }

    public String getClave() {
        return clave;
    }

    public void setClave(String clave) {
        this.clave = clave;
    }
  
    public Perfil getPerfil() {
        return perfil;
    }

    public void setPerfil(Perfil perfil) {
        this.perfil = perfil;
    }

    public String getNavegadorWeb() {
        return navegadorWeb;
    }

    public void setNavegadorWeb(String navegadorWeb) {
        this.navegadorWeb = navegadorWeb;
    }

    public Date getFechaLogueo() {
        return fechaLogueo;
    }

    public void setFechaLogueo(Date fechaLogueo) {
        this.fechaLogueo = fechaLogueo;
    }

    public Personal getPersonal() {
        return personal;
    }

    public void setPersonal(Personal personal) {
        this.personal = personal;
    }

    public String getFechaAlta() {
        return fechaAlta;
    }

    public void setFechaAlta(String fechaAlta) {
        this.fechaAlta = fechaAlta;
    }

    public String getFechaBaja() {
        return fechaBaja;
    }

    public void setFechaBaja(String fechaBaja) {
        this.fechaBaja = fechaBaja;
    }

    public PermisosTabla getPermisosTabla() {
        return permisosTabla;
    }

    public void setPermisosTabla(PermisosTabla permisosTabla) {
        this.permisosTabla = permisosTabla;
    }

  

    
}
